python 闭包
闭包的比较好的解释是:把函数及其环境包装起来
def foo(x):
def acc(y) :
return x+y
return acc
a = foo(3)
print a(4)
print foo(3)(4)
>> 7
>> 7
函数可以嵌套,python 确实是一门非常好玩的语言。
def a(x):
def b(y):
def c(z):
return x+y+z
return c
return b
print a(1)(2)(3)
>> 6
多参数传递
def defun(func):
def wrapper(*args,**kw):
print func.__name__ , 'in'
result = func(*args,**kw)
print func.__name__ , 'out'
return result
return wrapper
@defun
def ff(n,m):
print n+m
ff(3,4)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ff in
7
ff out